package org.jiuling.xml.jaxb;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader;

/**
 * XML转换器
 * @author 紫灵
 * @date 2024年11月30日 00时14分44秒
 */
public class XmlConverter {

    /**
     * 转换成对象
     * @param xmlStr 字符串
     * @param clazz 类
     * @return 对象
     * @param <T> 类
     * @throws JAXBException JAXB异常
     */
    public static <T> T toObject(String xmlStr, Class<T> clazz) throws JAXBException {
        JAXBContext context = JAXBContext.newInstance(clazz);
        Unmarshaller unmarshaller = context.createUnmarshaller();
        return (T) unmarshaller.unmarshal(new StringReader(xmlStr));
    }

}
